home *** CD-ROM | disk | FTP | other *** search
- Path: solon.com!not-for-mail
- From: seebs@solutions.solon.com (Peter Seebach)
- Newsgroups: comp.lang.eiffel,comp.lang.c,comp.lang.c++,comp.object,comp.software-eng
- Subject: Re: Beware of "C" Hackers -- A rebuttal to Bertrand Meyer
- Date: 25 Mar 1996 19:14:33 -0600
- Organization: Usenet Fact Police (Undercover)
- Message-ID: <4j7gdp$cl7@solutions.solon.com>
- References: <1995Jul3.034108.4193@rcmcon.com> <3154A548.71FF@iadfw.net> <4j3p80INN567@keats.ugrad.cs.ubc.ca> <827765484snz@tsys.demon.co.uk>
- NNTP-Posting-Host: solutions.solon.com
-
- In article <827765484snz@tsys.demon.co.uk>,
- Tom Wheeley <tomw@tsys.demon.co.uk> wrote:
- >Surely you have just proved that the standard library is _not_ part of the
- >C language. At the risk of seeming -pedantic, I would say that the standard
- >library is a part of the _standard C *implementation*_, but not a part of
- >the standard C *language*.
-
- Nope. "This International Standard specifies and establishes the
- interpretation of programs written in the C programming language." What
- it specifies is C.
-
- >That is why you can build the standard library within C -- you cannot write
- >the entire standard library using the standard library, therefore if the
- >standard library is a part of the C language, then the standard library is
- >no longer written in the C language, but only a limited subset thereof.
-
- You cannot write the standard library in C; at least, not completely. You
- absolutely *must* have some way of reading or writing that is not a part
- of the C language. You also (if you wish to offer a respectable
- implementation) need to find some way to get or release memory, and you
- need a way to check on the time, and on CPU time used. None of this
- can be done in C-without-libraries, the language that C would be if
- the standard library were not a part of it.
-
- Implementors must write in a language which is also C, but is not the
- standard form; they write in what is called a freestanding evironment,
- one which may not have any or all of the library available, and which
- may require or offer special magic.
-
- Arguably, if you look at a "freestanding implementation", you have a
- language which is still C, but has no standard library; on the other
- hand, you can write no programs in it, because it does not specify
- how you start a program. (main() is only documented for hosted
- environments, i.e., those with libraries.)
-
- >I hope you understood that, I half expected to end up mentioning an index of
- >everything that is not indexed... ;-)
-
- Ahh, the World Wide Web.
-
- (Actually, that's the index of indexes with no things in them.)
-
- -s
- --
- Peter Seebach - seebs@solon.com - Copyright 1996 Peter Seebach.
- C/Unix wizard -- C/Unix questions? Send mail for help. No, really!
- FUCK the communications decency act. Goddamned government. [literally.]
- The *other* C FAQ - http://www.solon.com/~seebs/c/c-iaq.html
-